package main

import "fmt"

/**
实现接口的条件
一个对象只要实现了接口中的全部方法，那么就实现了这个接口。换句话说，接口就是一个需实现的方法列表。
*/
// Sayer 95_接口
type Sayer interface {
	Say()
}

// cat实现了Sayer接口
func (c Cat) Say() {
	fmt.Println("喵喵喵")
}

// dog实现了Sayer接口
func (d Dog) Say() {
	fmt.Println("汪汪汪")
}

type Cat struct{}
type Dog struct{}

func main() {
	dog := Dog{}
	cat := Cat{}
	dog.Say()
	cat.Say()
}
